1. Technical Field
The present invention relates generally to security features for computer systems and in particular to providing security features during manufacture and authentication of trusted platform modules (TPMs). Still more particularly, the present invention relates to a method and system for providing trustworthy endorsement certificates during manufacture of platforms using TPMs and the Endorsement Credential of that platform for that TPM.
2. Description of the Related Art
As the use of computers to conduct day-to-day business communication (information exchange) via computer networks increases, providing reliable/trustworthy encryption capabilities for each computer system has become a vital consideration in the manufacturing process for new systems. Even for computers utilized to carry out personal enterprises, such as Internet-based transactions, system (and network) security during these transactions is important.
One conventional method of providing security for information exchange via computer networks involves the utilization of certificate encryption. Certificate encryption involves the utilization of public-private key cryptography (e.g., asymmetric cryptography). In order to provide this method of encryption, some sort of certification mechanism is required by which a certificate is provided by a trusted source to verify the trustworthiness of the encryption pair for a particular computer system. Those skilled in the computer arts are familiar with asymmetric cryptography and the implementation of public-private key pairs and associated certificate to carry out secure exchange of information between computer systems.
One major safeguard required during manufacture of computing devices that support certificate creation is against breaches in security (or inadequate security) that may result in the use of the private key being compromised. Such breaches may result in a fraudulent injection of an attacker's own public key to generate an endorsement certificate for a device not manufactured with the security safeguards required for a trusted source. An attacker inserts his own key into the process and obtain a certificate made for that key. Also, the endorsement certificate (digital signature) system is susceptible to fraud if the system using the high-value private key of a device is stolen, either by physical theft of the device containing the private key, or by discovery of the private key therein and subsequent copying and use in another device capable of generating endorsement certificates. Most importantly, one must protect the manufacturing environment such that the machine containing the high-value certification key can be assured it is only generating credentials or certificates for machines for which it should generate these credentials.
As will be appreciated, consumer trust is a key component of this system, and a manufacturer must ensure that there are no easy breaches to the system so that consumer trust can be maintained. Typically, users of a computer device are expected to rely upon blind trust in accepting that the device used to generate the certificate has not been stolen and in accepting that the device used to generate the certificate has sufficient safeguards to protect its private key from discovery and use.
With the need for reliable implementation of certificate creation within computer systems permeating the industry, the Trusted Platform Module. (TPM) to implement the specification of the Trusted Computing Group (TCG). The TPM is a chip that is manufactured to provide the encryption functionality in a trusted device, which is manufactured by a trusted source. The specification of the TCG and TPM are available on the web at Internet address trustedcomputing group.org, and relevant content of that site is incorporated herein by reference.
A TPM vendor is required to implement a part that is complaint with the TCG main specification. An OEM of a system that has a TCG complaint part must go to further steps to create a Platform Credential that, in part, contains information about the Endorsement key in the TPM. The actual creation time of the Endorsement key is not important, but it is important that this key be created if a Platform Credential is to be created by the OEM. Since the platform is only in a controlled environment up until it leaves its manufacturing facility, this is when the credential should be created so that the OEM has a level of assurance that any credential it is signing is indeed for a platform created within its secured environment.
The Endorsement key created is a public/private key pair generated internally to a TPM. The public portion is the portion that is signed by the platform manufacturer. The use of this key is further explained in the TCG main specification. Since the OEM must feel assured that it is signing EK public keys from systems that it created, one may envision that a manufacturing facility would have a central machine with a high-value key that creates credentials for all machines within the secure manufacturing facility. However, it is not always feasible to have localized, high-performance cryptographic devices with high-value keys in the same manufacturing environment. Also, there is still no assurance that some attacker has not placed a rogue machine or even just a rogue key request in the facility to be signed.
The manufacturer of the TPM signs a certificate that is physically associated with the TPM. This certificate is tied to the public portion of the endorsement key, and together they confirm that the public key is the endorsement key of this particular TPM. The certificate generation mechanism is require to show public certification of the keys so the users can feel confident that the systems are indeed secure. Thus, there is great value in having the certificate that says that the public key was generated inside of a TPM.
Previously, manufacturers were able to protect their device manufacturing process by manufacturing the devices in OEM owned and operated manufacturing facilities that were safeguarded against external attacks. The devices were thus manufactured in a secure environment (i.e., an environment having a sufficient security rating so as not to compromise the security level of any device manufactured in the environment and one from which an endorsement key could be trusted).
Typically, the manufacturing facility and the secure database (server) are not located at the same physical location, and the former is provided a much less secure environment than the latter. Also, while some OEMs own and control the manufacturing plants in these other locations, others license out the manufacture of the devices to a manufacturing vendor. These vendors often do not have the same sense of urgency or financial ability to provide adequate security against breaches/attacks in the manufacturing process.
With the globalization of the manufacturing workforce, due to economic and other considerations, many companies are now establishing/utilizing manufacturing plants in other locations outside of their direct control and trusted security environment (e.g., countries with cheaper labor). While steps are taken to provide security to these plants and limit their exposure to breaches or attacks, etc. in the manufacturing process, it is more likely and certainly not uncommon for security features of a remote facility to be compromised.
The OEM must protect the key in order to provide a credential for all customers by signing the keys. One method of protecting the key generation process involves placement of very expensive hardware (i.e., an credential server) at each remote manufacturing plant. However, obvious problems with this method includes: (1) controlling security of the “trusted” sever would become even more difficult when the hardware is placed in such a remote location; and (2) even if security could be guaranteed, the expense of providing such high-end secure systems for each manufacturing facility is very impractical (i.e., to expensive to implement).
Conventional credential servers located within the OEM environment must be able to determine/ascertain which keys to sign and which ones not to sign. For example, with 1000 devices in a manufacturing line, the credential server has to sign the endorsement keys being returned to each machine. The credential server needs to know each device from which the server receives a public key is a device that should be provided an EK certification. With no way to ascertain whether the keys were generated within the TPM, the credential server has no way of making this confirmation. Providing an endorsement certificate to even one EK not generated within a TPM of the manufacturer could severely compromise the trust placed in the OEM by the customers who ultimately utilize the devices.
Thus, current manufacturing environments at which TPMs request a certificate from a remotely located trusted source are susceptible to security problems. The lack of security or inadequate security provides little comfort to the OEM that a certificate should be issued for all requests without having to consider the possibility that the process has been tampered with or that private keys have been generated outside of the TPM. A method and system that provides some additional confirmation that an authentication certificate is validly issued to an endorsement key from a key pair generated within a TPM would be a welcomed improvement to the manufacturing process.